/**
 * @title: 请求配置文件
 * @description: 
 * @author JUN
 */
import Request from '@/plugins/luch-request/index.js'
import store from "@/store/index.js"

let httpRequest = new Request({
	// baseURL: 'https://tuancan2.gzwscy.cn/Tuancan-MiniApp-Api',
	baseURL: 'http://t2.ossjk.com/',
	// baseURL: 'http://192.168.1.11:8082/Tuancan-MiniApp-Api',
	// baseURL: 'http://cjs.4yd67.cn:8082/Tuancan-MiniApp-Api',
	// baseURL: 'http://zwj.4yd67.cn:7001/Tuancan-MiniApp-Api',
	timeout: 100000,
});

// 请求拦截
httpRequest.interceptors.request.use((config) => { // 可使用async await 做异步操作
	let token = store.state.userModule.token
	if (token) {
		config.header = {
			...config.header,
			jwttoken: token
		}
	}
	return config
}, config => { // 可使用async await 做异步操作
	return Promise.reject(config)
})

// 响应拦截
httpRequest.interceptors.response.use((response) => {
	// if (response.data.code === 1005) {
	// 	uni.reLaunch({//重定向回注册页
	// 	    url: '/pages/regiser/regiser'
	// 	});
	// }
	let code = response.data.code //状态码
	
	switch (code) {
		case 1005:
			{ //超时
				uni.reLaunch({//重定向回注册页
					url: '/pages/regiser/regiser'
				});
				break;
			}
	
		case 1006:
			{ //刷新token
				store.commit('userModule/GET_TOKEN', response.data.data) //获取刷新后的token
	
				// 重置配置
				let config = response.config
				config.headers.jwttoken = response.data.data
				config.baseURL = '' //url已经带上/api,避免出现/api/api的情况
				return httpRequest.request(config) //重新发起请求
			}
	
	
		default:
			{ //正常
				// console.log(1000)
			}
	
	}
	
	return response
}, (response) => {
	return Promise.reject(response)
})

export default httpRequest
